1. Field of the Invention
The present invention relates to a virtual space communication system allowing computer users to communicate with each other, in a virtual space constructed in a system configured of plural computers connected through a network. More particularly, it relates to a virtual space communication system using graphical objects (for example, called as abutters) behaving according to manipulation by a user in a virtual space shared by plural computers for realizing communication between computer users through the objects.
The invention also relates to a three-dimensional image display method and a three-dimensional image display apparatus of such virtual space, and to so-called computer graphics, and more particularly to computer graphics handling a three-dimensional space.
2. Description of the Related Art
The so-called virtual space communication system has been proposed for allowing computer users to communicate with each other in a virtual space configured in a system configured by plural computers connected through a network. A configuration of a conventional system is, for example, as shown in FIG. 1.
In FIG. 1, a host computer 100 and plural client computers 10 are connected through a newtork NW. Secondary storages (magnetic disk device, CD-ROM device, etc.) 101 and 20 are connected to the host computer 100 and each client computer 10 respectively, and computer graphics (hereinafter, to b called as CG) data expressing a virtual space (configured by plural objects) is stored in each secondary storage 101 and 20. The host computer 100 is responsible for the following processings necessary for communication between the client computers 10 as well as the management processing of CG data.
In each client computer 10 sharing the virtual space area, the image of the same virtual space is displayed on the basis of the CG data being read out from the secondary storage 20 connected to each. Corresponding to each client computer 10, for example, graphical objects called abutters exist in the virtual space. The abutters behave (act, chat, etc.) in the virtual space according to the manipulation by the user in the client computer 10. The manipulation information (corresponding to the behavior of abutters) having been inputted into one client computer 10 is sent to the host computer 100 through the network NW. The host computer 100 transfers this manipulation information to the other client computers 10 sharing the same virtual space together with the client computer 10 that has transmitted the manipulation information through the network NW. In the other client computers 10 receiving the manipulation information through the network NW, the corresponding abutters behave similarly in the virtual space according to the manipulation information. As a result, among users of the client computers 10 sharing the virtual space, communications can be realized through the behavior (action, chat, etc.) of abutters in the virtual space.
In such virtual space communication system, the host computer and individual client computers share common CG data, and therefore transmission of CG data among computers through the network is not necessary, and the transmission quantity among computers is reduced.
In such conventional virtual space communication system, however, since the host computer is responsible for processings about communications among client computers as well as management processing of CG data, when the number of client computers sharing the virtual space increases or the quantity of CG data to be managed increases, the load is concentrated on the host computer, and processings in the host computer may be difficult.
Or, every time the shared virtual space is extended or switched in each client computer, the recording medium storing the CG data of the extended or switched virtual space such as floppy disk, CD-ROM or the like must be distributed to the users of each client computer by off-line means (mail, hand to hand, etc.). It is hence not flexible enough to extension and switching of virtual space, and the CG data of the virtual space in client computers of each user may differ.
Recently, the CG is used in all fields, and in particular along with the progress of so-called multimedia, it has been stepwisely attempted to apply the CG in communication with remote places through such communication network. For example, data of a three-dimensional solid model is stored in a server installed in a certain place, and the data of the solid model is loaded in a client terminal at a remote place through, for example, the Internet, and is displayed, so that the communication can be realized.
In the system on which the invention is based, first, plural three-dimensional spaces to be drawn are prepared, and in one space of them, the viewpoint can be moved freely, that is, so-called xe2x80x9cwalk-throughxe2x80x9d is enabled.
For example, as shown in a schematic diagram in FIG. 2, a certain indoor space (first space SP1) is composed of a set of several solid models OB, and an another indoor space (second space SP2) adjacent to this room is composed of a set of other several solid models OB, and the both spaces SP1, SP2 are mutually connected through an entrance E as a connection point.
Suppose the viewpoint VP moves from the first space SP1 to the second space SP2 through the entrance E by xe2x80x9cwalk-through,xe2x80x9d it gives rise to necessity of reading the data of the second space SP2 at the moving destination out of the database, and displaying on the screen. In a case where, however, the data of the solid model of the second space SP2 to be read out is huge in quantity and the communication capacity between the database and the display terminal is small, it causes a long waiting time for switching the screen due to the move from the first space SP1 to the second space SP2. In other words, the waiting time is long from the display of the first space SP1 to the display of the second space SP2.
A block diagram in FIG. 3 shows a structural example of a conventional system for such three-dimensional space display. Hereinafter, the prior art is described in detail below by referring to FIG. 3.
In FIG. 3, reference numeral 51 denotes a three-dimensional database (hereinafter called 3D database), in which data of solid matter (hereinafter called objects) for constructing the three-dimensional space is stored. However, as shown in the schematic diagram in FIG. 2, when the three-dimensional space is divided into plural sections (divided into two sections, first space SP1 and second space SP2, in the example in FIG. 2), the data of objects in each space SP1, SP2 is managed as one data group.
Reference numeral 52 is a reader for reading out the data relating to the space in which the viewpoint is located at the present, from the 3D database 51. The data being read out from the 3D database 51 by this reader 52 is given to a 3D drawing unit 53.
In the 3D drawing unit 53, on the basis of the data being read out by the reader 52, and according to the viewpoint information given from a viewpoint information set unit 54, that is, the information showing which orientation is seen from which position, geometrical calculation, color calculation and others are executed on each object, and the results are written in a 3D frame buffer 55.
By repeating such operation to draw individual objects, three-dimensional images of objects are sequentially drawn on the 3D frame buffer 55, and soon use one three-dimensional image is completed and displayed on a monitor 56.
Using such conventional system, the case of moving between plural three-dimensional spaces (hereinafter called 3D spaces) as shown in FIG. 2 is disclosed. Suppose several solid models, that is, objects OB are arranged in each 3D space (first space SP1 and second space SP2 in the example in FIG. 2). For example, the current viewpoint VP is located in the first space SP1, and it is supposed that walk-through is attempted in a certain orientation along a path P.
When the viewpoint VP moves from the first space SP1 to the other second space SP2, the space is switched and the three-dimensional image displayed in the monitor 56 is also switched, and at this time it is necessary to read out the information of the second space SP2 in which the viewpoint VP is to be located next from the 3D database 51 anew, and drawing the image in the 3D frame buffer 55. Generally, the data quantity of a set of solid models is very large, and it takes a very long time to read into the 3D frame buffer 55. In the actual world, it is possible to move the viewpoint VP smoothly from one room to other room, that is, from the first space SP1 to the second space SP2, but in the three-dimensional image display technique using the conventional system as described above, the viewpoint cannot be moved smoothly in the boundary of one room and other (for example, the door), and a waiting time occurs.
In the system on which the invention is based, secondly, there are plural objects for constructing one three-dimensional space.
Supposing the number of objects for constructing one three-dimensional space to be N, in the conventional technique, data of N number of objects is stored in the 3D database 51, and the reader 52 reads it out sequentially in the unit of each object, and the 3D drawing unit 53 operates geometrical calculation and color calculation on each object according to the viewpoint information given from the viewpoint information set unit 54, and writes the result in the 3D frame buffer 55, and by repeating such operation, one picture is completed.
Conventionally, therefore, as the object data were sequentially written into the 3D frame buffer 55, individual objects were sequentially displayed in the monitor 56, or after all object data were written in the 3D frame buffer 55, all objects were displayed together in the monitor 56.
In the former case, the user viewing the monitor 56 did not know how long he or she must wait because there was no information about the waiting time until one picture is completed or about how far the drawing is advanced at the moment, and was hence formed to wait while twirling his or her thumbs.
In the latter case, until the drawing is completed in the 3D frame buffer 55, the screen display on the monitor 56 is swept, or the former displaying state is kept in still image, and hence the same problem occurs.
Generally, the data quantity of the three-dimensional solid model becomes larger when the shape is complicated, and therefore when the communication capacity between the database system (server) storing the solid model data and the display terminal (client) is small, as the communication time is extended, it takes an extremely long time for moving from the space being drawn to other space. Hence, the problems to be solved are how to shorten the moving wait time and how to make the user feel the waiting time short.
In the invention, it is possible to xe2x80x9cwalk throughxe2x80x9d plural three-dimensional spaces, and when the viewpoint enters a certain space for the first time, the data of solid mode in the space is loaded from the database. Therefore, the problems to be solved are to how to make the user feel the waiting time short when switching the display, and how to inform the user of the information about the screen to be displayed next promptly.
It is hence a first object of virtual space communication system of the invention to provide a virtual space communication system free from concentration of load on the host computer.
It is a second object of virtual space communication system of the invention to provide a virtual space communication system capable of flexibly extending or switching the virtual space.
To achieve the first object, the virtual space communication system of the invention comprises plural client computers manipulated by individual users, a first management computer, and a second management computer, which are mutually connected through a network, wherein the first management computer manages the data expressing a virtual space, and provides the data to the client computers through the network according to a request from each client computer, each client computer displays an image with objects variable in property data having added in the virtual space on the basis of the data provided from the first management computer, and the second management computer manages the property data of the objects changed on the basis of the manipulation input at each client computer, thereby allowing the user of each client sharing the virtual space to communicate through the behavior of the objects in the virtual space.
In such virtual space communication system, the data expressing the virtual space and the property data of the objects variable on the basis of the manipulation input at each client computer are managed by being dispersed into the first and second computers. Therefore, processing about data management is prevented from being concentrated on a specific computer.
From the standpoint of managing the property data of the objects frequently changed by manipulation input at each client computer, separately from management of data expressing the virtual space which is not switched frequently, in this virtual space communication system, update of property data of objects corresponding to the manipulating input of the client computers is provided to the second management computer through the network, and the second management computer notifies the updating property data and the updated property data to the other client computer sharing the virtual space.
From the standpoint of creating the image data integrating the data expressing the virtual space managed by different management computers and the property data of each object in individual client computers, in this virtual space communication system, each client computer has means for generating the data provided from the first management computer and image data expressing the virtual space including the objects on the basis of the property data of the objects to be managed by the second management computer, so that the image is displayed on the basis of the image data.
To achieve the second object, the virtual space communication system of the invention, in each virtual space communication system described above, sends the data expressing the virtual space created by each client computer to the first management computer through the network, and updates the content of the data expressing the virtual space managed by the first management computer on the basis of the received data.
In such virtual space communication system, the data expressing the virtual space managed by the first management computer can be updated from each client computer. Therefore, the virtual space shared by each client computer can be extended or switched flexibly.
When the data expressing the virtual space is updated by any client computer, this update can be notified to other client computers sharing the same virtual space, and, from this standpoint, when the content of the data expressing the virtual space managed by the first management computer is updated, the second management computer notifies the updating of the content of the data expressing the virtual space to the other client computers sharing the virtual space, on the basis of the notification from the client computer that has created the data expressing the virtual space.
From the standpoint of not transferring data of relatively large data quantity such as texture image and data of objects used frequently as far as possible on the network, in each abovementioned virtual space communication system, the data expressing the virtual space managed by the first management computer includes an identifier for identifying the image for constructing a part of the virtual space, and each client computer holds the data expressing the image identifier by the identifier in the secondary storage, and reads out the data identified by the identifier contained in the data from the secondary storage when displaying the image of the virtual space on the basis of the data provided from the first management data through the network.
Moreover, in the virtual space communication system, from the standpoint that each client computer can build up the virtual space by the latest data, the data expressing the virtual space managed by the first management computer includes version data expressing the updating history of the data identified by the identifier, and each client computer holds the version data expressing the updating history of the data identifier by the identifier held in the secondary storage, and when displaying the image of the virtual space on the basis of the data provided from the first management computer through the network, the data identified by the identifier is read out from the secondary storage when the updating history expressed by the version data of the data identified by the identifier stored in the secondary storage is not older than the updated data expressed by the version data included in the data provided from the first management computer.
On the other hand, in the three-dimensional image display method and apparatus therefor of the invention, it is enabled to xe2x80x9cwalk throughxe2x80x9d plural three-dimensional spaces, and when the viewpoint enters a certain space for the first time, the data of the solid model in that space is loaded from the database. Therefore, the problems to be solved are how to make the user feel the waiting time short when switching the display, and how to inform the user of the information about the screen to be displayed next promptly.
It is a first object of the three-dimensional image display method and apparatus therefor of the invention to shorten the waiting time necessary for switching the screen occurring when the viewpoint is changed from a certain space to other space as in the case above.
It is a second object of the three-dimensional image display method and apparatus therefor of the invention to improve the displaying state during waiting time necessary for displaying the space in which the viewpoint is newly moved, when the viewpoint is changed from a certain space to other space as in the case above.
To solve the problems, in the three-dimensional image display method and apparatus therefor of the invention, the distance between the walking-through viewpoint position and movable place to other space (for example, entrance such as door) is always calculated, and when the distance is less than a predetermined value, the data in the space corresponding to the objective entrance is read out preliminarily from the database as predictive reading.
This predictive reading process is executed simultaneously as other processing than the processing for changing the displaying state of the image for walk-through along with the move of the viewpoint. Therefore, the viewpoint can be moved even during processing of predictive reading.
Thus, as the viewpoint approaches a certain entrance, the data in the space corresponding to the entrance is read preliminarily. It is hence required to predict, to a certain extent, the space to which the viewpoint moves next on the basis of the information of approaching the entrance, and calculation is operated for this purpose. When the viewpoint position approaches the entrance to a certain extent, the space to which the viewpoint moves next is predicted, and reading of the data in that space is started as predictive reading, so that the waiting time accompanied by switching screen when moving the space is shortened.
Also to solve the above problems, in the three-dimensional image display method and apparatus therefor of the invention, on the basis of the above invention, it is intended to predict not only the distance between the current viewpoint position and the entrance, but also the space to which the viewpoint moved next by adding the orientation of visual field.
To solve the problems, moreover, in the three-dimensional image display method and apparatus therefor of the invention, prepared two-dimensional image data (hereinafter 2D image) is first displayed on the screen of the displaying means, and the objects are sequentially loaded in the same manner as in the prior art, and until the drawing is over, that is, until display of perfect 3D image is enabled, the prepared 2D image is displayed on the screen, and when all 3D drawings are completed, the 3D image is displayed on the screen.
Herein, the prepared 2D image may be arbitrary. However, in particular, by transforming the final result of 3D image to be displayed next (the 3D image at the time of switching, hereinafter this image is called initial 3D image) into two dimensions and preparing as 2D image, it is expected to have such an effect that the user may not know the change from 2D image to 3D image.
Further to solve the problems, in the three-dimensional image display method and apparatus therefor of the invention, same as in the above invention, the initial 3D image is first prepared as 2D image, and this 2D image is processed by filtering effect to suppress color such as xe2x80x9cfog effectxe2x80x9d. Only in the first time, such filtering processed image is displayed. That is, only in the first time, the 2D image transformed from the initial 3D image is displayed as a color suppressed image, and thereafter the 3D image is sequentially overlaid and displayed on the 2D image.
In this case, since the 3D image is displayed in the natural color, the color suppressed portion in the screen is not processed as 3D image, and the portion displayed in deep color is the object already processed as 3D image, which can be clearly recognized by the user. Hence, the user knows instantly how far the 3D drawing is advanced.
To solve the problems, still more, in the three-dimensional image display method and apparatus therefor of the invention, the content of the 3D frame buffer (three-dimensional image storing means) is processed by filtering effect having color suppression effect (for example, fog effect) same as in the above embodiment, and it is written back in the 3D frame buffer and displayed on the screen. At this time, the same process is repeated at a certain predetermined time interval, or along with the step of object drawing in the 3D drawing unit (three-dimensional image drawing means). The degree of color suppression is stepwisely decreased along with the increase in the number of times of processing, and color suppression is none when the 3D drawing is completed.
Also to solve the problems, in the three-dimensional image display method and apparatus therefor of the invention, by rearranging the data sequence in the database storing the 3D objects, the objects can be read out in a desired sequence, for example, in the sequence nearer to the viewpoint or in the sequence further from the viewpoint.
Generally, when displaying three-dimensional image, it is natural to see sequentially from the object closer to the viewpoint. Therefore, by calculating the distance between the viewpoint position and each object, the objects closer to the viewpoint are sequentially displayed. For this purpose, from the viewpoint position information, the distance to each object in the database is calculated, and by sorting it in the ascending order (or descending order), the sequence position of object data in the database is updated according to the result, or a flag indicating the sequence is set up. According to the sequence order or the order indicated by flag, the data is read out sequentially from the database and displayed.
To solve the problems, also, in the three-dimensional image display method and apparatus therefor of the invention, the data is read out and displayed sequentially from rough shape data to fine shape data of 3D objects. This requires to prepare data in multiple stages from rough shape to fine shape concerning each object, and register it in the database.
Further to solve the problems, in the three-dimensional image display method and apparatus therefor of the invention, with the same object as in the invention above, rough shape data is obtained by calculation in a stage after reading out the object data from the database, and sequentially displayed as 3D image. In this case, it is not necessary to store the rough shape data preliminarily in the database.